//定义表示记分牌的类
class ScorePanel{
    //score 和level 用来记录分数和等级
    score = 0;
    level = 1;

    // 分数和等级所在的元素，在构造函数中进行初始化
    scoreEle:HTMLElement;
    levelEle:HTMLElement;

    //设置一个变量限制等级
    maxLevel:number;
    //设置一个变量表示升级所需要的分数
    upScore:number

    constructor(maxLevel:number = 10, upScore:number = 10){
        this.scoreEle = document.getElementById('score')!;
        this.levelEle = document.getElementById('level')!;
        this.maxLevel = maxLevel
        this.upScore = upScore
    }

    //设置一个加分的方法
    addScore(){
        this.score++;
        this.scoreEle.innerHTML = this.score + ''; //把分数赋给页面
        //判断分数是多少 能够整除10的时候就升一级
        if(this.score % this.upScore === 0){
            this.levelUp();
        }
    }
    //设置一个升级的方法
    levelUp(){
        //小于我的最大等级在给你升级
        if(this.level < this.maxLevel){
            this.levelEle.innerHTML = ++this.level + '';
        }
        
    }

}

// //测试代码
// const scorePanel = new ScorePanel();
// for(let i=0;i<210 ;i++){
//     scorePanel.addScore()
// }

export default ScorePanel